package com.example.booksystem.mapper;

import com.example.booksystem.model.BookInfo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface BookMapper {
    @Insert("insert into book_info (book_name,author,`count`,price,publish,`status`)" +
            "values(#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    Integer insertBook(BookInfo bookInfo);

    @Select("select count(1) from book_info where status !=0")
    Integer count();
    @Select("select * from book_info where status!=0 order by id desc limit #{offset},#{limit}")
    List<BookInfo> getListByPage(Integer offset,Integer limit);

    @Select("select * from book_info where id=#{id} and status!=0")
    BookInfo selectBookID(Integer id);

    Integer updateBook(BookInfo bookInfo);

    @Update("update book_info set status=0 where id = #{bookId}")
    void deleteBook(Integer bookId);

    void batchDeleteBook(List<Integer> ids);
}
